The present invention relates to network management, and more particularly to a programmable operational system for managing devices participating in a network.
In computer network environments, it is advantageous to manage the various software and hardware components coupled to the network from a central location or from a remote location, such as the system manager""s office. Such central or remote management of a network is commonly accomplished using industry standard protocols, such as the Simple Network Management Protocol (SNMP) or the Desktop Management Interface (DMI). SNMP provides a reliable and well-known mechanism for remotely controlling network devices. However, SNMP requires the use of specialized management consoles. These consoles are typically expensive and are generally restricted to only those situations where the cost and training can be justified. DMI is a proprietary system that is deficient for similar reasons.
There is an industry-wide trend for considering network management across a network using Internet technology such as the World Wide Web (WWW), which is an Internet technology that is layered on top of the basic Transmission Control Protocol/Internet Protocol (TCP/IP) services. Other Internet technology concepts include the HyperText Transfer Protocol (HTTP), the Universal Resource Locator (URL), and the HyperText Markup Language (HTML). Such technologies are widespread and use of the various Internet protocols is growing. However, such technologies were not designed for purposes of network management and suffer from many deficiencies. For example, although HTML is the most commonly used language for writing web pages displayed by a browser, HTML is relatively static and is generally considered to lack the flexibility and programmability required for network management. Further, when SNMP and DMI communication protocols are used in existing systems, the user is limited to a fixed system. The systems cannot be flexibly programmed and are not designed for communication of management commands across an intranet or the Internet.
It is desirable to provide remote network management across an intranet or the Internet using a web browser while keeping at least the functionality and flexibility of SNMP or DMI. It is also desired to provide flexibility in the display of management data.
A programmable operational system for managing devices participating in a network according to the present invention includes a collection of notices, operation logic that filters the collection of notices based on at least one criteria and that generates at least one operation indicative of a state change of the network, and an automation engine that uses the at least one operation to perform at least one process in response one or more operations. The collection of notices are indicative of the state or status of hardware, software, user actions that comprise the network, etc., where the network status may include the state or status of one or more of the devices participating in the network. The notices may be generated by a plurality of routines, where each routine periodically generates one or more notices and stores the notice(s) into the collection of notices. In this manner, the collection of notices generally includes the state information including state changes that occur in the network.
The operation logic may include an operation engine and one or more operational groups, where each operational group is implemented for being processed by the operation engine. Each operational group may further include a filter and configuration information associated with the at least one operation. For example, an operational group may include at least one first operation associated with new notices in the collection of notices, at least one second operation associated with current notices in the collection of notices, and at least one third operation associated with notices removed from the collection of notices.
The operation logic may further generate at least one job and store the job into memory, where each job references an operation. The operation logic invokes a helper process to facilitate execution of each operation. In particular, the helper process generates an event notification and provides the event notification to the automation engine, where the event notification includes at least one reference to an associated job to enable the automation engine to access the operation(s) via the jobs. The automation engine may further include event detection logic and one or more predetermined constructions, where each construction registers with the event detection logic to listen to at least one event notification. When a construction is invoked, it uses one or more operations to perform one or more associated processes. The event logic, upon detecting an event notification, invokes each construction that has registered to listen to the detected event notification. Each job may include at least one reference to the one or more notices associated with the operation to enable the automation engine to access those notices.
A network system according the present invention includes at least one managed device participating in a network and a management server implemented with a programmable operational system as described above. A second management server may be included that also includes a programmable operational system. The first management server may further include a helper locator, where the operation logic of the first management server invokes the helper locator to locate the helper process of the second management server to facilitate execution of each operation. Upon location of a helper process of the second management server, the helper process generates an event notification and provides the event notification to its automation engine. The event notification includes at least one reference to the job(s) located on the first management server to enable the automation engine of the second management server to locate and access each associated operation located on the first management server via the network.
A method of managing a network according to the present invention includes periodically generating a plurality of notices indicative of the state of the network, storing the plurality of notices into a collection of notices, executing an operation filter on the collection of notices based on at least one criteria to create at least one operation indicative of at least one state change of the network, sending an event notification referencing the one or more operations to an automation engine, and the automation engine performing a process based on at least one operation. The method may further include generating and storing at least one job referencing each operation, providing a reference to the job in the event notification, and the automation engine locating the job using the reference in the event notification.
The method may further include locating a remote helper process on the network and providing the located helper process a reference to the at least one operation. The remote helper process sends the event notification to its local automation engine, and the local automation engine locates and performs a process based on at least one operation. The method may further include creating a plurality of operations indicative of state changes of the network, where the operations include a first operation indicative of new notices in the collection of notices and a second operation indicative of notices removed from the collection of notices. A third operation indicative of current notices may also be included.